package com.xiongwei.strategy;

/**
 * 策略模式：
 * 分别封装行为接口，实现算法族，超类里放行为接口对象，在子类中设定具体行为对象。
 * 原则：分离变化部分，封装接口，基于接口编程实现功能，让行为的变化独立于算法的使用者。
 * @author XiongWei
 * @date 2024/2/6
 */
public class Client {

    public static void main(String[] args) {
        Duck toyDuck = new ToyDuck();
        toyDuck.fly();
        toyDuck.quack();

        Duck wildDuck = new WildDuck();
        wildDuck.fly();
        wildDuck.quack();
    }
}
